import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
import { NzMessageModule } from 'ng-zorro-antd/message';
import { NzIconModule } from 'ng-zorro-antd/icon';
import { NzTableModule } from 'ng-zorro-antd/table';
import { NzInputModule } from 'ng-zorro-antd/input';
import { NzLayoutModule } from 'ng-zorro-antd/layout';
import { NzGridModule } from 'ng-zorro-antd/grid';
import { NzDividerModule } from 'ng-zorro-antd/divider';
import { NzFormModule } from 'ng-zorro-antd/form';
import { NzCardModule } from 'ng-zorro-antd/card';
import { NzButtonModule } from 'ng-zorro-antd/button';
import { NzSelectModule } from 'ng-zorro-antd/select';
import { NzPaginationModule } from 'ng-zorro-antd/pagination';
import { NzDrawerModule } from 'ng-zorro-antd/drawer';
import { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';
import { NzModalModule } from 'ng-zorro-antd/modal';
import { NzTreeModule } from 'ng-zorro-antd/tree';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { NzRadioModule } from 'ng-zorro-antd/radio';
import { CKEditorModule } from '@ckeditor/ckeditor5-angular';
import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
import { NzImageModule } from 'ng-zorro-antd/image';
import { NzUploadModule } from 'ng-zorro-antd/upload';

import {
  faBars, faBook, faBuilding, faCogs, faCubes, faFighterJet,
  faFileCode, faMap, faNewspaper, faTachometerAlt,
  faTasks, faUserCog, faUsersCog, faInfoCircle, faHome, faCalendar, faTable, faChalkboardTeacher,
  faUserGraduate, faUsers, faCalendarPlus, faSchool, faUniversity, faFile, faBriefcase, faCity,
  faHouseUser, faList, faUnlink, faPrint, faPen, faSignature, faMobile, faBookReader,
  faEdit, faImage, faLink, faEye,
  IconDefinition
} from '@fortawesome/free-solid-svg-icons';

export const NavMenusIcons: NavIcons = {
  faFighterJet, faUserCog, faUsersCog, faCogs, faNewspaper, faCubes, faBars, faFileCode, faBook, faMap, faBuilding
  , faTachometerAlt, faTasks, faInfoCircle, faHome, faCalendar, faTable, faChalkboardTeacher, faUserGraduate, faUsers
  , faCalendarPlus, faFile, faBriefcase, faCity, faSchool, faUniversity, faHouseUser, faList, faUnlink, faPrint, faPen
  , faSignature, faMobile, faBookReader, faEdit, faImage, faLink, faEye
};
export const iconsModules = [
  FontAwesomeModule
];
export interface NavIcons {
  [name: string]: IconDefinition;
}
export const nzModules = [
  NzButtonModule, NzCardModule, NzFormModule, NzDividerModule,
  NzSelectModule, NzGridModule, NzLayoutModule, NzPaginationModule,
  NzInputModule, NzTableModule, NzDrawerModule, NzPopconfirmModule,
  NzModalModule, NzIconModule, NzMessageModule, NzTreeModule, NzRadioModule,
  NzDropDownModule, NzImageModule,NzUploadModule

];

export const formModules = [
  FormsModule, ReactiveFormsModule
];

export const editorModules = [
  CKEditorModule
];
